package com.ruoyi.product.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.product.pojo.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;


/**
 * 品牌管理对象 sys_brand
 *
 * @author tsh
 * @date 2025-08-02
 */
@Document(indexName = "es-brand", shards = 1, replicas = 0)
public class SysBrand extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 品牌ID
     */

    @Id
    private Integer brandId;

    /**
     * 品牌名称
     */
    @Excel(name = "品牌名称")
    @Field(type = FieldType.Text,analyzer = "ik_max_word")
    private String brandName;

    /**
     * 品牌logo
     */
    @Excel(name = "品牌logo")
    @Field(type = FieldType.Keyword,index = false)
    private String brandLogo;

    /**
     * 品牌描述
     */
    @Excel(name = "品牌描述")
    @Field(type = FieldType.Text,analyzer = "ik_max_word")
    private String description;

    /**
     * 状态
     */
    @Excel(name = "状态")
    @Field(type = FieldType.Integer)
    private Integer status;

    public void setBrandId(Integer brandId) {
        this.brandId = brandId;
    }

    public Integer getBrandId() {
        return brandId;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    public String getBrandName() {
        return brandName;
    }

    public void setBrandLogo(String brandLogo) {
        this.brandLogo = brandLogo;
    }

    public String getBrandLogo() {
        return brandLogo;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getStatus() {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("brandId", getBrandId())
                .append("brandName", getBrandName())
                .append("brandLogo", getBrandLogo())
                .append("description", getDescription())
                .append("status", getStatus())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
